import axios from 'axios';
import { ElMessage } from 'element-plus';

const request = axios.create({
    baseURL: 'http://localhost:8081',
    timeout: 10000
});

request.interceptors.request.use(
    config => {
        console.log('发送请求:', config.method, config.url);
        return config;
    },
    error => {
        return Promise.reject(error);
    }
);

request.interceptors.response.use(
    response => {
        return response.data;
    },
    error => {
        console.error('请求错误:', error);

        if (error.code === 'ECONNABORTED') {
            ElMessage.error('请求超时');
        } else if (error.response) {
            const status = error.response.status;
            if (status === 404) {
                ElMessage.error('接口不存在');
            } else if (status >= 500) {
                ElMessage.error('服务器错误');
            } else {
                ElMessage.error(`请求失败 (${status})`);
            }
        } else if (error.request) {
            ElMessage.error('网络错误，请检查：\n1. 后端服务是否启动\n2. 端口号是否正确');
        } else {
            ElMessage.error('请求配置错误');
        }

        return Promise.reject(error);
    }
);

export default request;